package com.echo.register.commons.utils;

import java.lang.reflect.Field;

/**
 * @program: com.echo.voter
 * @description: 对象判空方法
 * @author: Xiaoti
 * @create: 2018-11-05 13:14
 **/
public class ObjectUtils {

    public static boolean isNotNullOrEmpty(Object obj){
        if(obj == null){
            return false;
        }
        //查询出对象所有的属性
        Field[] fields = obj.getClass().getDeclaredFields();
        //用于判断所有属性是否为空,如果参数为空则不查询
        boolean flag = false;
        for (Field field : fields) {
            //不检查 直接取值
            field.setAccessible(true);
            try {
                if (StringUtils.isNotNull(field.get(obj))) {
                    //不为空
                    flag = true;
                    //当有任何一个参数不为空的时候则跳出判断直接查询
                    break;
                }
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return flag;
    }
}
